在了解完Maven專案的核心檔案pom.xml後,我們可以了解到在專案開發階段如果要引用相依套件時該如何設定。此外,我也想藉此機會介紹一下Maven的其中一個核心概念即Maven的生命週期(Lifecycle)。
Maven的生命週期就是專案建構的時期,Maven在建構專案時有一套自己的建置流程,它定義了建置的每個階段(Phase)和每個階段會執行的目標(Goal)。
Maven有三種不同的生命週期:
Clean Lifecycle:清理專案的生命週期(3個Phase),目的在於清除先前已建置生成的檔案,這些生成的檔案主要會被存放在target資料夾下,當你在執行clean的生命週期時,target資料夾連同其內部檔案都會被刪除。 項目開發階段如果要進行新的建構時,會建議先使用此生命週期,避免遺留的檔案影響新的建構並確保maven重新編譯了所有程式碼和資源。此外,也可以清理cache解決程式中的快取問題。
Default Lifecycle:建構專案的生命週期(23個Phase),這是Maven最重要的生命週期,是一個用於專案建置的流程,整個過程從編譯到打包,主要的階段如下
假設我們執行了maven的package指令:
mvn package
Maven就會從validate開始按順序執行到package才止步 (validate → compile → test → package)
Site Lifecycle:生成專案站點的生命週期(4個Phase),用於產生專案說明文件的網站,會生成html頁面
Clean Lifecycle & Default Lifecycle會是在開發時經常接觸的生命週期